package com.heima.admin.service.impl;

import com.heima.admin.service.AuthUserRealNameService;
import com.heima.api.IArticleClient;
import com.heima.api.user.UserFegin;
import com.heima.model.common.constants.CommonConstants;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.user.dtos.AuthDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Slf4j
@Service
public class AuthUserRealNameServiceImpl implements AuthUserRealNameService {

    @Autowired
    private UserFegin userFegin;

    /**
     * 分页查询
     * @param dto 查询条件
     * @return 分页结果
     */
    @Override
    public ResponseResult getAuthList(AuthDto dto) {
        // 设置分页参数
        int pageNum = dto.getPage() != null ? dto.getPage() : CommonConstants.DEFAULT_PAGE;
        int pageSize = dto.getSize() != null ? dto.getSize() : CommonConstants.DEFAULT_SIZE;
        log.info("查询审核列表请求分页设置：{}，：{}",pageNum,pageSize);
        dto.setPage(pageNum);
        dto.setSize(pageSize);

        // 调用远程接口获取分页数据
        log.info("调用远程接口获取分页数据");
        return userFegin.apUserRealnameList(dto);
    }

    /**
     * 审核成功
     * @param dto 审核信息
     * @return 审核结果
     */
    @Override
    public ResponseResult authPass(AuthDto dto) {
        log.info("审核成功：{}", dto.getId());
        dto.setStatus(CommonConstants.STATUS_APPROVED); // 设置审核状态为通过
        return userFegin.userRealnameAuthPass(dto);
    }

    /**
     * 审核失败
     * @param dto 审核信息
     * @return 审核结果
     */
    @Override
    public ResponseResult authFail(AuthDto dto) {
        log.info("审核失败：{}", dto.getId());
        dto.setStatus(CommonConstants.STATUS_FAILED); // 设置审核状态为失败
        return userFegin.userRealnameAuthFail(dto);
    }
}
